mod front_of_house {
    pub mod hosting {
        pub fn add_to_waitlist() {}
    }
}

use crate::front_of_house::hosting;

pub fn eat_at_restaurant() {
    hosting::add_to_waitlist();
}

mod customer {

    pub fn eat_at_restaurant() {
        //hosting::add_to_waitlist();//err
        super::hosting::add_to_waitlist();
    }
}
use crate::front_of_house::hosting::add_to_waitlist;

pub fn eat_at_restaurant_02(){
    add_to_waitlist();//not good,not clear for ref
}

mod front_of_house_03 {
    pub mod hosting {
        pub fn add_to_waitlist() {}
    }
}

pub use crate::front_of_house_03::hosting as hosting_02;

pub fn eat_at_restaurant_03() {
    hosting_02::add_to_waitlist();
}
